
#ifndef MANAGER_H
#define MANAGER_H

#include "Shaft.h"

struct Manager
{
	List *shafts;
};

typedef struct Manager Manager;

Manager* managerConstructWithShaft(Shaft* shaft);
void managerDeconstruct(Manager *manager);
void managerAddShaft(Manager *manager, Shaft *shaft);
Shaft* managerSelectShaftForDispatch(Manager *manager, Destination *destination);
void managerSendEventToShaft(Shaft *shaft, elevatorEvent eventToExecute);

#endif